Future Methods হলো Apex-এ ব্যবহৃত একটি Asynchronous Processing পদ্ধতি, যা দীর্ঘমেয়াদি কাজ বা বড় ডেটাসেট প্রসেস করতে ব্যবহৃত হয়। Future Methods আলাদা ট্রানজ্যাকশনে কাজ সম্পন্ন করে, যা Governor Limits এড়াতে সাহায্য করে এবং ব্যাকগ্রাউন্ডে কাজ চালায়। Future Methods সাধারণত ওয়েব সার্ভিস কলআউট, বড় ডেটাসেট প্রসেসিং, এবং এমন কোনো প্রসেসে ব্যবহৃত হয় যা অবিলম্বে সম্পন্ন হওয়ার প্রয়োজন নেই।
@future
অ্যানোটেশন দিয়ে ডিফাইন করতে হয়।Future Method লিখতে @future
অ্যানোটেশন ব্যবহার করতে হয় এবং Method অবশ্যই static হতে হবে। Future Method-এ primitive ডেটা টাইপ (যেমন Integer, String, বা List, Set, Map) পাস করা যায়।
@future
public static void methodName(parameters) {
// Method logic
}
নিচের উদাহরণে updateAccountIndustry
নামে একটি Future Method তৈরি করা হয়েছে, যা Account
অবজেক্টের Industry
ফিল্ড আপডেট করে।
public class FutureExample {
@future
public static void updateAccountIndustry(Set<Id> accountIds) {
List<Account> accounts = [SELECT Id, Industry FROM Account WHERE Id IN :accountIds];
for (Account acc : accounts) {
acc.Industry = 'Technology';
}
update accounts;
}
}
Set<Id>
প্যারামিটার ব্যবহার করা হয়েছে, যা Account
রেকর্ডের আইডি সংরক্ষণ করে।updateAccountIndustry
Future Method ব্যবহার করে Account
রেকর্ডের Industry
ফিল্ড আপডেট করা হয়েছে।Set<Id> accountIds = new Set<Id>{'0011j00000XXXXXXX', '0011j00000YYYYYYY'};
FutureExample.updateAccountIndustry(accountIds);
Future Method ব্যবহার করে Callouts করা যায়, যা সাধারণত অন্য ট্রানজ্যাকশনে সম্পন্ন হয়। নিচের উদাহরণে একটি Future Method performHttpCallout
কলআউট তৈরি করা হয়েছে, যা একটি ওয়েব সার্ভিসে HTTP কলআউট করে।
public class CalloutExample {
@future(callout=true)
public static void performHttpCallout() {
Http http = new Http();
HttpRequest request = new HttpRequest();
request.setEndpoint('https://api.example.com/data');
request.setMethod('GET');
HttpResponse response = http.send(request);
System.debug('Response: ' + response.getBody());
}
}
callout=true
সেট করা হয়েছে।HttpRequest
এবং HttpResponse
ব্যবহার করে একটি HTTP GET কলআউট করা হয়েছে।Future Method ব্যবহার করার কিছু সাধারণ পরিস্থিতি:
Future Method ব্যবহারে কিছু সীমাবদ্ধতা রয়েছে:
বৈশিষ্ট্য | Future Method | Queueable Apex |
---|---|---|
চেইনিং | সমর্থিত নয় | সমর্থিত |
Primitive Limitation | শুধুমাত্র primitive ডেটা টাইপ পাস করা যায় | Custom এবং Complex data types সমর্থন করে |
Return Value | রিটার্ন ভ্যালু সমর্থিত নয় | সমর্থিত নয় |
Usage Flexibility | কম ফ্লেক্সিবল | বেশি ফ্লেক্সিবল |
@future
অ্যানোটেশন দিয়ে ঘোষণা করা হয়।Future Methods ব্যবহার করে Salesforce প্ল্যাটফর্মে ব্যাকগ্রাউন্ডে কার্যকরী ডেটা প্রসেসিং, কলআউট, এবং বড় ডেটাসেট পরিচালনা সম্ভব হয়, যা ব্যবহারকারীর অভিজ্ঞতা এবং অ্যাপ্লিকেশনের কার্যকারিতা উন্নত করে।
common.read_more